package com.aiwiown.snackmq.common.metrics;

/**
 * 一个接口，定义了能够为监控系统提供消费位点信息的能力。
 * 这个接口位于 common 模块，以便被 cluster 和 management 模块共享，而不会产生循环依赖。
 */
public interface OffsetQueryable {

    /**
     * 获取指定消费者组、主题和分区的当前已提交偏移量。
     *
     * @param consumerGroup 消费者组名称
     * @param topic         主题名称
     * @param partitionId   分区 ID
     * @return 当前的偏移量；如果不存在，则返回 -1。
     */
    long fetchOffset(String consumerGroup, String topic, int partitionId);
}